ApolloClient
link
cache
ssrMode
ssForceFetchDelay
connectToDevTools
queryDeduplication
defaultOptions
1 | const defaultOptions = { |
ApolloProvider
为所有的组件提供一个ApolloClient
实例
- client
1 | ReactDOM.render( |
graphql(query,[config])(Component)
1 | function TodoApp({ data: { todos } }) { |
可以定义中间函数
1 | // Create our enhancer function. |
Query Configuration
config.options
1 | export default graphql(gql`{ ... }`, { |
config.props
1 | export default graphql(gql`{ ... }`, { |
config.skip
不会执行其中的React Apollo 功能
可以传递布尔值,也是传递函数给config.skip
,
这里连个查询根据 props.userQuery1的属性来判断实现那个查询, 注意 true 时跳过查询
1 | export default compose( |
config.name
name
配置传递给组件 props的名字. 默认是query用 data
. mutation用mutate
.
1 | //⛔️注入多个函数时用 compose函数 |
config.withRef
这个存在时什么意义呢?
config.alias
compose(...enhancers)(component)
借此可以一次使用多个组件增强子. compose(funcC,funcB,funcA)(component), 实际的执行方式为 funcC(funcB(funcA(component)))
1 | export default compose( |
withApollo(component)
1 | export default withApollo(MyComponent); |
使用 withApollo
可以在组件中直接访问到Client 实例